package com.platform.utils;

/**
 * 常量
 *
 * @author lipengjun
 * @email 939961241@qq.com
 * @date 2016年11月15日 下午1:23:52
 */
public class Constant {
    /**
     * 超级管理员ID
     */
    public static final int SUPER_ADMIN = 1;

    /**
     * ORACLE、MYSQL
     */
    public static final String USE_DATA = "MYSQL";
    /**
     * 分页条数
     */
    public static final int pageSize = 10;
    /**
     * 权限前缀
     */
    public static final String PERMS_LIST = "permsList";
    /**
     * 云存储配置KEY
     */
    public final static String CLOUD_STORAGE_CONFIG_KEY = "CLOUD_STORAGE_CONFIG_KEY";
    /**
     * 短信配置KEY
     */
    public final static String SMS_CONFIG_KEY = "SMS_CONFIG_KEY";
    /**
     * 权限前缀
     */
    public static final String SESSION_KEY = "SESSIONID_";

    /**
     * 排序方式名称 asc:正序 | desc:倒序
     */
    public static final String SORT_ORDER = "sortOrder";
    /**
     * 当前登录用户
     */
    public static final String CURRENT_USER = "curUser";
    /**
     * 默认密码
     */
    public static final String DEFAULT_PASS_WORD = "888888";

    /**
     * 系统缓存前缀
     */
    public static final String SYS_CACHE = "SYS_CACHE:";

    /**
     * 菜单类型
     *
     * @author lipengjun
     * @email 939961241@qq.com
     * @date 2016年11月15日 下午1:24:29
     */
    public enum MenuType {
        /**
         * 目录
         */
        CATALOG(0),
        /**
         * 菜单
         */
        MENU(1),
        /**
         * 按钮
         */
        BUTTON(2);

        private int value;

        private MenuType(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 定时任务状态
     *
     * @author lipengjun
     * @email 939961241@qq.com
     * @date 2016年12月3日 上午12:07:22
     */
    public enum ScheduleStatus {
        /**
         * 正常
         */
        NORMAL(0),
        /**
         * 暂停
         */
        PAUSE(1);

        private int value;

        private ScheduleStatus(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 云服务商
     */
    public enum CloudService {
        /**
         * 七牛云
         */
        QINIU(1),
        /**
         * 阿里云
         */
        ALIYUN(2),
        /**
         * 腾讯云
         */
        QCLOUD(3),
        /**
         * 服务器存储
         */
        DISCK(4);

        private int value;

        private CloudService(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 是否类型
     */
    public enum YESNO {
        /**
         * 是
         */
        YES("0"),
        /**
         * 否
         */
        NO("1");
        private String value;

        private YESNO(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }

//    1：普通订单 2：团购订单 3：砍价订单 4: 直接购买
    public enum OrderTypeEnum{
    普通订单(1,"普通订单"),
    团购订单(2,"团购订单"),
    砍价订单(3,"砍价订单"),
    直接购买(4,"直接购买")
        ;

        private final Integer code;
        private final String msg;

        public Integer getCode() {
            return code;
        }

        public String getMsg() {
            return msg;
        }

        OrderTypeEnum(Integer code, String msg) {
            this.code = code;
            this.msg = msg;
        }
    }


    //付款状态 支付状态;0未付款;1付款中;2已付款
    public enum OrderStatusEnum{
        待付款(100,"待付款"),
        已取消(101,"已取消"),
        已删除(102,"已删除"),
        待发货(201,"待发货"),
        已发货(300,"已发货"),
        确认收货(301,"确认收货"),
        自提(302,"自提"),
        未发货退款(401,"未发货退款"),
        已收货退款退货(402,"已收货退款退货")
        ;

        private final Integer code;
        private final String msg;

        public Integer getCode() {
            return code;
        }

        public String getMsg() {
            return msg;
        }

        OrderStatusEnum(Integer code, String msg) {
            this.code = code;
            this.msg = msg;
        }
    }

    public enum ShipStatus{
        未发货(0,"未发货"),
        已发货(1,"已发货"),
        已收货(2,"已收货"),
        退货(4,"退货")
        ;

        private final Integer code;
        private final String msg;

        public Integer getCode() {
            return code;
        }

        public String getMsg() {
            return msg;
        }

        ShipStatus(Integer code, String msg) {
            this.code = code;
            this.msg = msg;
        }
    }

    public enum PayStatusEnum{
        未付款(0,"未付款"),
        付款中(1,"付款中"),
        已付款(2,"已付款")
        ;
        private final Integer code;
        private final String msg;

        public Integer getCode() {
            return code;
        }

        public String getMsg() {
            return msg;
        }

        PayStatusEnum(Integer code, String msg) {
            this.code = code;
            this.msg = msg;
        }
    }
}
